Vegetation Index · Atmosphere Resistant

ARVI – Atmospherically Resistant Vegetation Index

ARVI is a modified NDVI that resists atmospheric effects such as haze, dust, and aerosol. It uses the Blue band to correct the Red reflectance, making vegetation mapping more accurate.

1. Scientific Definition

The Atmospherically Resistant Vegetation Index (ARVI) is designed to reduce atmospheric distortions by incorporating the Blue band to correct the Red channel.

Formula

ARVI = (NIR - (2 × Red - Blue)) / (NIR + (2 × Red - Blue)) Range: -1 → +1

Interpretation

ARVI ValueMeaning
< 0Water / non-vegetated
0 – 0.2Sparse vegetation
0.2 – 0.5Moderate vegetation
> 0.5Dense healthy vegetation

Applications

  • Dusty & desert regions
  • Urban haze correction
  • Pollution-affected vegetation studies
  • General vegetation mapping

2. Required Data

Sentinel-2 Bands

  • NIR: B8
  • Red: B4
  • Blue: B2

Best Practices

  • Use surface reflectance (S2_SR)
  • Mask clouds & haze when possible
  • Use multi-temporal comparison

Suggested Palette

[ "#440154", "#3b528b", "#21908c", "#5dc963", "#fde725" ]

3. Google Earth Engine Code – ARVI


// ARVI using Sentinel-2
// Formula: (NIR - (2*Red - Blue)) / (NIR + (2*Red - Blue))

var roi = geometry;
Map.centerObject(roi, 11);

// Load Sentinel-2 SR
var s2 = ee.ImageCollection("COPERNICUS/S2_SR")
  .filterBounds(roi)
  .filterDate("2023-01-01", "2023-12-31")
  .filter(ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE", 20))
  .select(["B2","B4","B8"]); // Blue, Red, NIR

var img = s2.median().clip(roi);

// Compute ARVI
var arvi = img.expression(
  "(NIR - (2 * RED - BLUE)) / (NIR + (2 * RED - BLUE))",
  {
    "NIR": img.select("B8"),
    "RED": img.select("B4"),
    "BLUE": img.select("B2")
  }
).rename("ARVI");

var vis = {
  min: -1,
  max: 1,
  palette: ["#440154","#3b528b","#21908c","#5dc963","#fde725"]
};

Map.addLayer(arvi, vis, "ARVI");

// Export
Export.image.toDrive({
  image: arvi,
  description: "ARVI_Export",
  fileNamePrefix: "ARVI",
  region: roi,
  scale: 10,
  crs: "EPSG:4326",
  maxPixels: 1e13
});